package com.example.base.system;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.base.app.AppInfo;
import com.example.base.app.AppSecretInfo;
import com.example.base.excetion.GlobalExcetion;
import com.example.base.system.domain.SysApp;
import com.example.base.system.domain.vo.SysAppVo;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.util.List;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author X.I.O
 * @since 2024-02-23
 */
public interface SysAppService extends IService<SysApp> {

    public SysApp saveSysApp(SysApp sysapp) throws GlobalExcetion;

    public SysApp updateSysAppById(SysApp sysapp) throws GlobalExcetion;

    public SysApp saveOrUpdateSysApp(SysAppVo sysappVo) throws GlobalExcetion;

    public IPage<SysApp> page(Integer page, Integer pageSize) throws GlobalExcetion;

    public void operateSysApp(File file, AppInfo appInfo, AppSecretInfo info);

    public List<SysApp> getSysAppList();

    public SysApp getSysAppByAppName(String appName);

    public SysApp getSysApp(HttpServletRequest request);

    public void flushSysApp(String appName,SysApp sysApp);

    public void sysAppStrat(String fileName);

    public void sysAppEnd(String fileName);

    public SysApp getSysAppByFileName(String fileName);

    public String getAppPath();


}
